package com.unitedvision.service;

import java.util.List;

import javax.persistence.EntityNotFoundException;

import com.unitedvision.core.exception.ApplicationException;
import com.unitedvision.core.exception.WrongDependencyException;
import com.unitedvision.persistence.domain.CompanyEntity;
import com.unitedvision.persistence.domain.OperatorEntity;

public interface OperatorService {
	void save(OperatorEntity operatorEntity) throws ApplicationException;
	void delete(OperatorEntity operatorEntity);
	OperatorEntity get(int id) throws EntityNotFoundException;
	OperatorEntity getOneByCompanyAndName(CompanyEntity company, String name) throws EntityNotFoundException, WrongDependencyException;
	List<OperatorEntity> getAll() throws EntityNotFoundException;
	List<OperatorEntity> getByCompany(CompanyEntity company) throws EntityNotFoundException, WrongDependencyException;
	List<OperatorEntity> getByCompanyAndName(CompanyEntity company, String name) throws EntityNotFoundException, WrongDependencyException;
	long count();
}
